package org.payeco.risk.api;

import java.util.List;

import org.payeco.risk.model.UserDefinedClasses;
import org.payeco.risk.model.UserDefinedParams;
import org.payeco.risk.model.UserDefinedReturnClass;
import org.payeco.risk.entity.PayecoRiskRule;
import org.payeco.risk.entity.PayecoRuleMode;
import org.payeco.risk.entity.PayecoRuleModular;

public interface PayeocRiskRuleEngine<M> {

	public UserDefinedReturnClass<M> executeOldRules(List<PayecoRiskRule> rules, UserDefinedClasses classList, UserDefinedParams params);
	
	public UserDefinedReturnClass<M> executeNewRules(List<PayecoRiskRule> rules, List<PayecoRuleModular> modulars, List<PayecoRuleMode> modes, UserDefinedClasses classList, UserDefinedParams params);
	
	
}
